import Vue from 'vue'
import Vuex from 'vuex'

// 使用 Vuex 插件
Vue.use(Vuex)

const store = new Vuex.Store({
  // strict: true, // 启用严格模式
  strict: process.env.NODE_ENV !== 'production', // 在生产环境下不开启严格模式 production-生产环境  development-开发环境
  state: { // 全局共享的状态数据
    userInfo: {
      username: '',
      nickname: '',
      avatarUrl: '',
      level: 0
    },
    token: '',
    count: 0 // 用于保存计数数量
  },
  mutations: { // 定义 Mutation 函数
    /**
     * 加数量
     * @param {*} state state 状态
     * @param {*} payload 有效载荷，在 Mutation 函数中需要接收的额外数据通过 payload 传递
     */
    // increment (state, payload) {
    increment (state, { num = 1 } = {}) {
      // console.log('increment:', this)
      state.count += num
    },
    decrement (state, { num = 1 } = {}) {
      state.count -= num
    }
  },
  actions: { // 定义 action 函数

  },
  getters: { // 定义 store 中的计算属性

  },
  modules: { // 定义 module 模块

  }
})

export default store
